// uni-app 应用入口文件，用于初始化应用并根据 Vue 版本选择不同的初始化方式。
import * as Pinia from 'pinia';

import App from './App'
import {
	initRequest
} from './http/index.js'
import WebSocket from './ws/websocket.js'
WebSocket.connect()

// #ifndef VUE3
// Vue2环境初始化代码
import Vue from 'vue'
import './uni.promisify.adaptor' // 适配Promise化的API调用

// 配置Vue实例
Vue.config.productionTip = false // 关闭生产提示
App.mpType = 'app' // 指定为小程序应用类型

// 创建并挂载Vue实例
const app = new Vue({
	...App
})

app.$mount()
// #endif

// #ifdef VUE3
// Vue3环境初始化代码
import {
	createSSRApp
} from 'vue'

// 创建应用实例的工厂函数(支持SSR)
export function createApp() {
	const app = createSSRApp(App) // 创建Vue3应用实例
	initRequest(app) // 初始化HTTP请求配置
	app.config.globalProperties.$ws = WebSocket
	return {
		app,
		Pinia
	}
}
// #endif